import java.util.HashMap;
import java.util.Map;

public class Solution1297 {
    public int maxFreq(String s, int maxLetters, int minSize, int maxSize) {
        Map<String,Integer> map=new HashMap<>();
        for (int i=minSize;i<=maxSize;i++){
            int[] f=new int[26];
            int t=0;
            for (int j=0;j<i;j++){
                f[s.charAt(j)-'a']++;
                if (f[s.charAt(j)-'a']==1){
                    t++;
                }
            }
            if (t<=maxLetters){
                String tt=s.substring(0,i);
                map.put(tt,map.getOrDefault(tt,0)+1);
            }
            for (int j=i;j<s.length();j++){
                f[s.charAt(j-i)-'a']--;
                if (f[s.charAt(j-i)-'a']==0){
                    t--;
                }
                f[s.charAt(j)-'a']++;
                if (f[s.charAt(j)-'a']==1){
                    t++;
                }
                if (t<=maxLetters){
                    String tt=s.substring(j-i+1,j+1);
                    map.put(tt,map.getOrDefault(tt,0)+1);
                }
            }
        }
        int max=0;
        for (Map.Entry<String, Integer> entry : map.entrySet()) {
            max=Math.max(max,entry.getValue());
        }
        return max;
    }

    public static void main(String[] args) {
        System.out.println(new Solution1297().maxFreq("aababcaab",2,3,4));
    }
}
